<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>hello_react</title>
</head>
<body>
    <div id="test1"></div>

    <!-- 引入 react 核心库 -->
    <script src="./js/react.development.js" type="text/javascript"></script> <!-- React 对象 -->
    <script src="./js/react-dom.development.js" type="text/javascript"></script> <!-- ReactDOM 对象 -->
    <script src="./js/babel.min.js" type="text/javascript"></script> <!-- babel -->
    <script src="./js/prop-types.js" type="text/javascript"></script> <!-- PropTypes -->

    <script type="text/babel">
        class Demo extends React.Component {
            /*
                (1).通过onXxx属性指定事件处理函数，注意大小写
                    a.React 使用的是自定义（合成）事件，而不是使用的原生Dom事件
                    b.React 中的事件是通过事件委托方式处理的(委托给组件最外层元素)
                (2).通过event.target得到发生事件的DOM元素对象
            */
            myRef1 = React.createRef()
            myRef2 = React.createRef()

            showData = () => {
                const { myRef1, myRef2 } = this
                alert(myRef1.current.value)
                alert(myRef2.current.value)
            }

            showData2 = (event) => {
                alert(event.target.value)
            }
            
            render() {
                return(
                    <div>
                        <input ref={this.myRef1} type="text" placeholder="点击按钮提示数据"/>
                        <button onClick={this.showData}>点我提示左侧的数据</button>
                        <input onBlur={this.showData2} type="text" placeholder="点击按钮提示数据"/>
                    </div>
                )
            }
        }
        ReactDOM.render(<Demo/>, document.querySelector('#test1'))
    </script>
</body>
</html>